home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swags_z.zip / SCREEN.SWG / 0025_Get Video Char Direct.pas < prev    next >
Pascal/Delphi Source File  |  1993-08-23  |  2KB  |  36 lines

  1. ===========================================================================
  2.  BBS: Canada Remote Systems
  3. Date: 08-18-93 (08:32)             Number: 34760
  4. From: WILLIAM SCHROEDER            Refer#: NONE
  5.   To: CHRIS PORTMAN                 Recvd: NO  
  6. Subj: RE: DIRECT VIDEO WRITES        Conf: (1221) F-PASCAL
  7. ---------------------------------------------------------------------------
  8.  -=> Quoting Chris Portman to All <=-
  9.  
  10.  CP> Can anyone write me a procedure that will write a character on the
  11.  CP> screen without moving the cursor (ie - DirWrite (80, 25, '!');). I
  12.  CP> just need this to write to the space at 80x25 without scrolling the
  13.  CP> screen.
  14.  
  15. function GetChar(x, y: integer): char;  (* $B000 for mono *)
  16. var screen: array[1..25, 1..80] of word absolute $B800:0000;
  17. begin
  18.   GetChar := char(screen[x][y] and $FF);
  19. end;
  20.  
  21. function GetTextColor(x, y: integer): integer;  (* $B000 for mono *)
  22. var screen: array[1..25, 1..80] of word absolute $B800:0001;
  23. begin
  24.   GetTextColor := integer(screen[x][y] and $FF);
  25. end;
  26.  
  27.   This is not the answer to your problem, but I'm sure it will help. All you
  28. have to do (I *think*) is write back to the screen variable (BIOS). Keep in
  29. mind that X and Y are in DOS format. For some reason, DOS's X-Axis is
  30. vertical and Y-Axis is horizontal; CRT.GotoXY reverses that.
  31.   Sorry I couldn't help further...
  32.  
  33. ... Only reasonable people agree with me.
  34. --- GEcho 1.00
  35.  * Origin: Not Ready For Prime Time * Victoria, Texas (1:3802/221.0)
  36.